// src/utils/printUtils.js
import dayjs from 'dayjs';

export default {
    /**
     * 初始化打印模板
     * @param {Object} dataTemplate 打印模板配置
     */
    init(dataTemplate) {
        if (!window.hiprint) {
            throw new Error('请先加载hiprint库');
        }
        this.template = new window.hiprint.PrintTemplate({
            template: dataTemplate
        });
    },

    /**
     * 执行打印
     * @param {Object} data 打印数据
     */
    print(data) {
        if (!this.template) {
            throw new Error('请先初始化打印模板');
        }
        this.template.print(data);
    },

    /**
     * 预览打印内容
     * @param {Object} data 打印数据
     * @param {String} [container] 预览容器选择器
     */
    preview(data, container = '#myModal .modal-body') {
        if (!this.template) {
            throw new Error('请先初始化打印模板');
        }
        const html = this.template.getHtml(data);
        const target = typeof $ !== 'undefined'
            ? $(container)
            : document.querySelector(container);
        target?.html?.(html) || (target && (target.innerHTML = html));
    }
};